home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / answers / nn-faq < prev    next >
Encoding:
Internet Message Format  |  1993-06-20  |  46.8 KB

  1. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!pad-thai.aktis.com!pad-thai.aktis.com!not-for-mail
  2. From: Bill Wohler <wohler@hw1175.sap-ag.de>
  3. Newsgroups: news.software.nn,news.answers
  4. Subject: NN Frequently Asked Questions (FAQ) with Answers
  5. Supersedes: <nn-faq_737956805@GZA.COM>
  6. Followup-To: poster
  7. Date: 20 Jun 1993 00:00:19 -0400
  8. Organization: SAP AG, Walldorf, Germany
  9. Lines: 1399
  10. Sender: faqserv@GZA.COM
  11. Approved: news-answers-request@MIT.Edu
  12. Expires: 3 Aug 1993 04:00:06 GMT
  13. Message-ID: <nn-faq_740548806@GZA.COM>
  14. Reply-To: Bill Wohler <wohler@sap-ag.de>
  15. NNTP-Posting-Host: pad-thai.aktis.com
  16. Summary: This document answers Frequently Asked Questions about NN, a
  17.      menu-based, point and shoot, USENET news reader.  It should
  18.      be read by anyone who wishes to post to news.software.nn.
  19. Keywords: FAQ nn news question answer newsrc digest article nntp
  20.           newsgroup cancel mail signature header netnews usenet kill
  21. X-Last-Updated: 1993/03/20
  22. Xref: senator-bedfellow.mit.edu news.software.nn:5136 news.answers:9585
  23.  
  24. Archive-name: nn-faq
  25. Last-modified: $Date: 1993/03/20 16:13:34 $
  26. Version: $Revision: 93.3 $
  27.  
  28.   This is a living list of frequently asked questions on the Usenet
  29.   news reader NN (No News is Good News).  The point of this is to
  30.   circulate existing information, and avoid rehashing old answers.
  31.   Better to build on top than start again.  Please read this document
  32.   before ever posting to this newsgroup.
  33.  
  34.   This article is posted monthly.  If it has already expired and
  35.   you're not reading this, you can hope that you saved the last bit of
  36.   question 3 so that you can get a copy yourself.
  37.  
  38.   Please do not post an answer when someone posts a frequently asked
  39.   question, as I will always e-mail a reply.  This ensures that
  40.   everybody gets their question answered fully and eliminates
  41.   unnecessary traffic in this newsgroup.
  42.  
  43.   Your comments, additions and fixes to this list are welcome: please
  44.   send them to Bill Wohler <wohler@sap-ag.de>.
  45.  
  46.   
  47. Subject: Table of Contents
  48. From: Preface
  49.  
  50. Legend: + new, - deleted, ! changed
  51.  
  52. Introductory
  53.  
  54.  1.  Why should I use nn?
  55.  2.  What is the current version/status of nn?
  56.  3.  Where can I get nn?
  57.  4.  What references exist for nn?
  58.  5.  How should I report bugs?
  59.  6.  How can I convert from rn to nn?
  60.  7.  How can I make life simpler when starting nn for the first time?
  61.  8.  Is there an X interface to nn?
  62.  
  63. Building nn
  64.  
  65.  10. What machines does nn run on?
  66.  11. Is it possible to restrict the groups that users have access to?
  67.  12. Unofficial patches for various bugs
  68.  
  69. Using nn
  70.  
  71.  20. How do I save files that I can read later with MH, elm, Mail, ...?
  72.  21. How come nn doesn't show the Lines count?
  73.  22. How can I find all articles having to do with a certain topic?
  74.  23. How can I set a different Organization name?
  75.  24. Can all non-selected subjects be automatically placed in my kill file?
  76.  25. Can I automatically kill articles based on the Newsgroups header?
  77.  26. How can I select one article in a thread with auto-select-subject set?
  78.  27. Is there a library of macros and other nn features?
  79.  28. Can one search for patterns in the entire article from the menu?
  80.  29. How can I remove old articles from folders?
  81.  30. What's the best way to save multi-part articles?
  82.  31. When saving in +a/b/c keeps you from saving in +a/b.
  83.  32. Can I use my mailer to send mail?
  84.  33. How can I see the original article with the current subject?
  85.  34. Can I choose newsgroups as I do articles, ie. with a menu?
  86.  35. How can I post prewritten articles with nn?
  87. +36. How can nn automatically append my signature?
  88.  37. How do I eliminate double signatures?
  89.  38. Can the signature come from a different file or program?
  90.  39. How can I make mail replies go to a different machine?
  91.  40. How come more articles get selected than I expect?  
  92.  41. Any plans for trn-ish thread following?  
  93.  42. Setting new-group-action to "ask before adding" doesn't work.
  94.  43. Why does nn crash when a letter one past the highest letter is selected?
  95.  44. Why do articles without a Lines header appear empty?
  96.  45. How do I save my posts and replies automatically?  
  97.  46. How can I change how my real name appears?
  98.  47. How can I customize my mail headers for mail and posting?
  99.  48. Can the article viewer/pager be changed?
  100.  49. How do I search for an author in a menu?
  101.  50. Can nn use aliases when sending mail?
  102.  51. How can I see which newsgroups are available?
  103. +52. How can I read MIME articles?
  104. +53. How do I unsubscribe to all groups?
  105.  
  106. nnmaster
  107.  
  108. !60. Why does nnmaster stop collecting articles at the "junk" group?
  109.  61. How do I cope with "Incomplete MASTER file"?
  110.  62. Why isn't nnmaster working?
  111.  63. Why do I get ".../MASTER not found"?
  112.  64. Why do I get "cannot open 'x' file"
  113. +65. Why do I get "Lost connection to server qualcom"
  114.   
  115. Appendix
  116.  
  117.  Glossary, Acknowledgements, Warranty
  118.  pack_date.c
  119.  news.c
  120.  nn-use-mh
  121.  nn_elm
  122.  nnalias
  123.  
  124.   
  125. Subject: Viewing This Article
  126. From: Preface
  127.  
  128.   To skip to a particular question numbered xx, use "/^F.*xx" with most
  129.   pagers.  In GNU Emacs type "M-C-s ^F.*xx", (or C-r to search backwards),
  130.   followed by ESC to end the search.  "-xx" is often sufficient.
  131.  
  132.   To skip to new or changed questions, use "/^S.*[!+]" with most pagers and
  133.   "M-C-s ^S.*[!+]" in GNU Emacs.
  134.  
  135.   This article is in digest format.  Nn may have already broken this
  136.   message into separate articles; if not, then type "G %".  In rn, use
  137.   ^G to skip sections.
  138.  
  139.   This article is treated as an outline when edited by GNU Emacs.
  140.   Run "M-x describe-mode" to see available outline-mode commands.
  141.   Useful commands are "C-c C-s" (show-subtree) and "M-x show-all"
  142.  
  143.   Numbers in square brackets denote the month and year of the last
  144.   update.
  145.  
  146.   
  147. Subject: Why should I use nn?
  148. From: Intro-1
  149.  
  150.   nn is a menu based (point and shoot) netnews reader with a complete
  151.   set of features to satisfy both the expert and the novice user.  Since
  152.   its first release in Denmark in 1984 (!), in Europe in 1988, and the
  153.   global release in June 1989, it has replaced rn and other well-known
  154.   news readers at many sites.
  155.  
  156.   Some of the key features of nn are:
  157.  
  158.   * Menu-based article selection prior to reading the articles with the
  159.     articles sorted according to subject and posting time.
  160.  
  161.     This significantly reduces the time spent on news reading.  No
  162.     keystrokes are wasted on articles you don't want to read, and only
  163.     the articles selected on the menu will be read.
  164.  
  165.   * Release 6.4 uses standard .newsrc, and can leave individual
  166.     articles unread.
  167.  
  168.   * Digests are automatically split and presented as ordinary articles!
  169.     You can transparently save and respond to individual subarticles.
  170.  
  171.   * Full folder support: read, save, and delete individual articles.
  172.  
  173.   * Online help and manual.
  174.  
  175.   * Built-in unshar and patch functions.
  176.   * Built-in uudecode function which will automatically unpack,
  177.     concatenate, and decode multi-part postings.
  178.  
  179.   * Easy remapping of keys with advanced macro definition features.
  180.  
  181.   * Automatic kill & selection of articles based on subject or author.
  182.  
  183.   * User specified presentation sequence of news groups based on the
  184.     news group hierarchy.
  185.  
  186.   * Whole classes of news groups can easily be unsubscribed
  187.     permanently, e.g. talk.all and all.politics
  188.  
  189.   * Related groups can be merged and presented as a single group, e.g.
  190.     comp.emacs and all gnu.emacs groups.
  191.  
  192.   * Blindingly fast 'search for subject'.  On my Texas S1500 system, nn
  193.     uses less than 20 seconds to find all articles on a specific
  194.     subject among 64000 articles in all groups!
  195.  
  196.   * News collection and presentation is extremely fast, because nn uses
  197.     its own database on top of the standard news system.
  198.  
  199.   * In a distributed environment, the database can be shared among all
  200.     hosts on the network.  Only one daemon is needed on the news server
  201.     for all hosts.  This works in a heterogenous environment as well.
  202.  
  203.   * NNTP is also supported (using a local database for speed).
  204.  
  205.   Because of the database, nn starts almost equally fast (in a few
  206.   seconds), no matter whether you have 100 or 10000 unread articles!
  207.   The database takes up some disk space, but dramatically improves speed
  208.   and functionality.  The amount of disk space consumed is approx. 1Mb
  209.   per 10000 articles.
  210.  
  211.   
  212. Subject: What is the current version/status of nn?
  213. From: Intro-2
  214.  
  215.   The current version of nn is 6.4.18.
  216.  
  217.   Note: the maintenance of nn is being taken over by Peter Wemm
  218.   <peter@dialix.oz.au>.  During this transitional period, he asks
  219.   that bugs and suggestions be posted to news.software.nn.  Soon, I'm
  220.   sure he'll have an update to this section.
  221.  
  222.   Patch 19 is in beta testing.  It will include many bug fixes, a
  223.   means of automatically killing threads of unread articles, and the
  224.   program nnsub to subscribe to newsgroups.  [1.93]
  225.  
  226.   
  227. Subject: Where can I get nn?
  228. From: Intro-3
  229.  
  230.   Note that tar files with the name of nn6.4.tar.Z (ie. not
  231.   nn6.4.18.tar.Z) may *not* include the patches.  Don't even think of
  232.   compiling unless the PATCHLEVEL defined in patchlevel.h is 18.  We
  233.   are endeavouring to remedy the situation.
  234.  
  235.   In addition, this is a very old list.  At the moment, only the
  236.   archives noted with the last modification date are known to carry
  237.   the latest sources.  We will be soon trying to update this list.
  238.   Until then, may I suggest that you use archie to find the nn
  239.   sources. [1.93]
  240.  
  241.   via anonymous ftp:
  242.     chalmers.se [129.16.1.1]                    [12.92]
  243.       pub/nn/nn6.4.18.tar.Z
  244.       pub/nn/patch??.Z
  245.     cs.mun.ca                            [12.92]
  246.       pub/news/nn6.4
  247.     ftp.msen.com [148.59.1.8]                    [1.93]
  248.       pub/packages/nn/nn.patch17.Z        5k
  249.       pub/packages/nn/nn.patch18.Z        6k
  250.       pub/packages/nn/nn6.4.pl16.tar.Z        732k
  251.     dkuug.dk [129.142.96.41]
  252.       pub/nn6.4/nn64.tarZa[a-f]            ~90k each
  253.       pub/nn6.4/nn6.4.patch[1-16].Z        ~25k each
  254.     munnari.oz.au [128.250.1.21]
  255.       pub/news/nn
  256.     sirius.ucs.adelaide.edu.au [129.127.40.3]
  257.       pub/news/nn6.4/nn6.4.tar.Z        485k
  258.       pub/news/nn6.4/nn6.4.patch[1-10].Z     ~25k each
  259.     aupair.cs.athabascau.ca
  260.       pub/usenet/nn/nn6.4.patch18
  261.     mtecv2.mty.itesm.mx [131.178.1.5]
  262.       pub/nn/nn6.4.16.tar.Z
  263.       pub/nn/nn6.4/nn6.4.patch[1-16].Z
  264.       pub/nn/NN_FAQ_with_Answers
  265.     ghost.dsi.unimi.it [131.175.10.64]
  266.       pub/nn.6.4.16.tar.Z            766k
  267.       pub/nntp.1.15.11.tar.Z            284k
  268.     ftp.uu.net [137.39.1.9]
  269.       news/readers/nn/nn6.4.tar.Z        485k
  270.       news/readers/nn/nn6.4.patch[1-16].Z    <30k each
  271.     uk.ac.soton.ecs (NIFTP)
  272.       login ID "guest", password of your mail ID (must include an "@"):
  273.       <PUB>/nn6.4.16.tar.Z            621637
  274.       <PUB>/nn6.4.patch[1-16].Z            ~25000
  275.       <PUB>/nntp-1.5.11.tar.Z            210319
  276.  
  277.   via anonymous uucp:
  278.     Anyone in the U.S. can get nn source and patches by anonymous
  279.     uucp from uunet by using their 900 number which costs 40
  280.     cents/minute (you don't have to be a uunet subscriber).  The
  281.     number is 1-900-468-7727, login: uucp, no password.  See
  282.     uunet!~/help (~5k) for more info or get uunet!~/index/README (~4k)
  283.     for a current full directory listing.  --Gary Morris <garym@telesoft.com>
  284.  
  285.     uunet!~/news/nn/nn6.4.tar.Z       (~485k)
  286.     uunet!~/news/nn/nn6.4.patch1.Z    (~15k)
  287.           ...
  288.     uunet!~/news/nn/nn6.4.patch16.Z   (~24k)
  289.  
  290.   via mail:
  291.     Send a note to ftpmail@decwrl.dec.com whose body contains "help"
  292.     on a line by itself get information on getting ftp sources by
  293.     mail.
  294.  
  295.     Send a note to mail-server@nluug.nl with a body containing one or
  296.     both of the following as desired:
  297.  
  298.       send news/nn/nn6.4.16.tar.Z
  299.       send news/nntp/nntp.1.5.11.tar.Z
  300.  
  301.   mini-inews: 
  302.     
  303.     As well as bringing mini-inews up to date, modifications have been
  304.     made to remove the need for MINI_INEWS_HEADERS when setting up nn.
  305.     Mini-inews will now create whatever headers are required including
  306.     if desired, a Lines header or an incremental Message-ID numbering
  307.     capability. --Jim Jagielski <jim@jagubox.gsfc.nasa.gov>
  308.  
  309.     jagubox.gsfc.nasa.gov    [128.183.44.1]    /pub/inews16.tar.Z    76K
  310.  
  311.   
  312. Subject: What references exist for nn?
  313. From: Intro-4
  314.  
  315.   Book:
  316.     The Whole Internet User's Guide & Catalog, Chapter 8.  Ed Krol.
  317.     ISBN 1-56592-025-2.  $24.95.  376 pages.
  318.     O'Reilly & Associates, Inc.
  319.     Book Orders:
  320.       US and Canada: 800-998-9938.  Fax: 707-829-0104.
  321.  
  322.     To get a list of non-US distributors, send a note to
  323.     nuts@ora.com or call +1-707-829-0515.
  324.  
  325.   Usenet:
  326.     news.software.nn
  327.  
  328.   Mailing list:
  329.  
  330.   NN mailing list archives:
  331.  
  332.   Papers:
  333.     "Intro to nn"
  334.     ux1.cso.uiuc.edu [128.174.5.59]:doc/net/nn.<format>
  335.     where <format> is one from doc, ps, tex, jpn, and hqx.
  336.  
  337.     "A Short Guide to nn"
  338.     unlinfo.unl.edu:pub/crc.docs/NN.doc/nn.manual.ascii
  339.  
  340.   This document:
  341.     via anonymous ftp:
  342.       pit-manager.mit.edu  [18.172.1.27]      /pub/usenet/news.answers/nn-faq.Z
  343.       ftp.uu.net       [137.39.1.9]      /archive/usenet/news.answers/nn-faq.Z
  344.       ftp.cs.ruu.nl       [131.211.80.17]    /pub/NEWS.ANSWERS/nn-faq
  345.  
  346.     via uucp:
  347.       uunet!/archive/usenet/news.answers/nn-faq.Z
  348.  
  349.     via mail:
  350.       Each of the following addresses is following by commands which
  351.       should be included as the body of the message.
  352.       
  353.       mail-server@pit-manager.mit.edu
  354.         send usenet/news.answers/nn-faq
  355.  
  356.       mail-server@cs.ruu.nl
  357.     send pub/NEWS.ANSWERS/nn-faq
  358.  
  359.   
  360. Subject: How should I report bugs?
  361. From: Intro-5
  362.  
  363.   Note: the maintenance of nn is being taken over by Peter Wemm
  364.   <peter@dialix.oz.au>.  During this transitional period, he asks
  365.   that bugs and suggestions be posted to news.software.nn. [9.92]
  366.  
  367.   
  368. Subject: How can I convert from rn to nn?
  369. From: Intro-6
  370.  
  371.   Why bother?  On our system some people use nn and some people use
  372.   rn.  In fact, since they both use the same .newsrc format, it is
  373.   perfectly possible to use both.  --Ian Taylor <ian@airs.com>
  374.  
  375.   
  376. Subject: How can I make life simpler when starting nn for the first time?
  377. From: Intro-7
  378.  
  379.   I think a nice way is to use the catch-up facility.  Start nn -a0
  380.   and let nn catch up automatically.  After some hours restart nn and
  381.   unsubscribe to uninteresting groups having news articles.  Restart
  382.   nn the following day and continue unsubscribing.
  383.  
  384.   After one week, you have a nice .newsrc.  --Joerg Napp
  385.   <napp@uni-paderborn.de>
  386.  
  387.   Another method is to run nn, exit immediately with 'Q', edit
  388.   ~/.newsrc and replace all occurrences of ':' with '!' (ie. sed
  389.   's/:/!/' .newsrc > foo; mv foo .newsrc) and then replace the '!'
  390.   with a ':' for those groups you're interested in.  [3.93]
  391.  
  392.   
  393. Subject: Is there an X interface to nn?
  394. From: Intro-8
  395.  
  396.   No.
  397.  
  398.   
  399. Subject: What machines does nn run on?
  400. From: Building nn-10
  401.  
  402.   Note: the maintenance of nn is being taken over by Peter Wemm
  403.   <peter@dialix.oz.au>.  During this transitional period, he asks
  404.   that updates to this list be posted to news.software.nn.  Soon, the
  405.   following paragraph will be updated with correct information.
  406.   Please do not send updates to me.
  407.  
  408.   Operating systems:
  409.  
  410.   3b1 (UNIX-pc) with GCC        SunOS 3
  411.   NeXT 1.0                SunOS 4.0
  412.   AIX 2.2.1                SunOS 4.1 SysV environment
  413.   A/UX 1.1                System V
  414.   4.2 BSD and Ultrix systems        Motorola System V/88 Release 3
  415.   4.3 BSD systems            Texas Instruments System 1500
  416.   dnix 5.2 on DIAB DS90            NCR tower
  417.   dnix 5.3 on DIAB DS90            ULTRIX systems (4.2 based)
  418.   Dynix 3.0 on Symmetry            Mips running riscos 4.0 or greater
  419.   Fortune 32:16                Riscos 4.5 and later
  420.   HPUX (series 300)            Microport UNIX V.2
  421.   HPUX 2.1 (series 800)            Amdahl UTS 2.0
  422.   HPUX 3.0 (series 800)            SCO Xenix 2.2.1 (286) -- terminfo
  423.   HPUX 6.5 or newer (series 300)    SCO Xenix 286 -- termcap
  424.   HPUX 7.0                Xenix386 [termcap version]
  425.   Interactive UNIX on 386        Xenix386 2.3.2 w/development system
  426.   Dynix/PTX on symmetry            Tandy 68000/Xenix 3.2
  427.   Pyramid (and Targon 35)
  428.   SCO UNIX V on 386
  429.   IRIX 3.1/3.2
  430.   Siemens SINIX
  431.  
  432.   Hardware platforms:
  433.  
  434.   3b1 with GCC [no networking]        MIPS processors
  435.   Amdahl 5890 (big iron)        Siemens MX300
  436.   AT&T 3b2                Pyramid (and Targon 35)
  437.   Convex                IBM 6150
  438.   DECstation 3100            Silicon Graphics 4D series
  439.   Gould PN6000                SPARC processors
  440.   HP9000 series 320 and 800 (at least)    80386 based SUNs [have network support]
  441.   Intel 80286 [no networking]        Sequent Symmetry
  442.   Intel 80386 [no networking]        VAX family
  443.   Motorola 68000 family
  444.   Motorola 88000 risc
  445.  
  446.   
  447. Subject: Is it possible to restrict the groups that users have access to?
  448. From: Building nn-11
  449.  
  450.   Create a new group for the people who can read the special groups.
  451.   Call it "privnews", for example. (In /etc/group put the userid of
  452.   each person who's in that group on that group's line.)  Then change
  453.   the group of the spool directory which contains the restricted
  454.   newsgroup to "privnews" (leaving the owner as news), and set the
  455.   mode to 750. --Alexis Rosen <alexis@panix.com>
  456.  
  457.   Note that this only works if you are not using NNTP to read news.
  458.   There is currently no mechanism that will allow this to work with
  459.   NNTP. --Steve Simmons <scs@wotan.iti.org> [1.93]
  460.  
  461.   
  462. Subject: Unofficial patches for various bugs
  463. From: Building nn-12 
  464.  
  465.   Several bugs have been reported and fixed and the patches are
  466.   available here for those not patient enough to wait until the next
  467.   release.  
  468.  
  469.   Remember, these are *unofficial* patches so back them out before
  470.   patching in the next release of nn.  You do not have to strip the
  471.   two leading spaces before these patches.  In fact you can run "patch
  472.   -s -N < this-entire-faq", within the newsreader even!
  473.  
  474.   The patch in appendix "pack_date.c" fixes NN dateline parsing.
  475.   Also, NN mishandles non-GMT time zones near short month boundaries
  476.   due to NN's, er, somewhat unusual time stamp encoding.  It will be
  477.   included in nn version 6.4.19.  --Paul Eggert <eggert@twinsun.com>
  478.   [1.93]
  479.  
  480.   
  481. Subject: Can I set up nn securely?
  482. From: Building nn-13
  483.  
  484.   Diffs are unfortunately not included, but this is what you can do:
  485.  
  486.   o Set shell-restrictions in the setup file.
  487.   o Set and lock *every* variable which is used to execute commands.
  488.   o Modify the source to avoid display/save/print files above the
  489.     home-directory if shell-restrictions is set (mainly in save.c).
  490.   o Modify the source to avoid changing directories if shell-restrictions
  491.     is set.
  492.   o Modify the source to avoid showing the contents of locked variables.
  493.  
  494.   In particular, the following variables should be locked:
  495.  
  496.   backup-folder-path, backup-suffix, bug-report-address, decode-header-file,
  497.   editor, folder, inews, mail, mail-record, mailer, news-record, newsrc,
  498.   pager, patch-command, printer, record, spell-checker, unshar-header-file  
  499.  
  500.   
  501. Subject: How do I save files that I can read later with MH, elm, Mail, ...?
  502. From: Using nn-20 
  503.  
  504.   MH:
  505.      Save your files with +$F/$N.  For example, if you save message 10
  506.      in news.software.nn in this way, you will create a file called
  507.      ~/News/news/software/nn/10.  If you have a symbolic link from
  508.      ~/Mail/news to ~/News, then you can look at your saved nn
  509.      messages with "scan +news/news/software/nn".
  510.  
  511.   Mail
  512.      Add "set mail-format" to your init file.  
  513.  
  514.   
  515. Subject: How come nn doesn't show the Lines count?
  516. From: Using nn-21 
  517.  
  518.   Karl Kleinpaste writes:
  519.     C News sites can turn on Lines: header creation (we do here), but
  520.     the default has it turned off.  I wish more would turn it on, as
  521.     several newsreaders put it to use, and it's the most easily
  522.     available metric of article size when showing the user a menu of
  523.     available articles.
  524.  
  525.   Henry Spencer replies:
  526.     We're unenthusiastic about Lines:, which is why it's off by default
  527.     and little-documented.  *The* most easily available metric of
  528.     article size is not line count -- which is often slightly wrong, by
  529.     the way -- but byte count, which is available without even parsing
  530.     the headers.
  531.  
  532.     You can tell C News to add Lines: headers to articles *posted*
  533.     locally, but C News has no provision for adding headers to traffic
  534.     coming in from other sites.  [Specifically, search for the string
  535.     "uncomment" in inews, and uncomment those lines. --bw]
  536.  
  537.   But Paul Eggert <eggert@twinsun.com> and Luc Rooijakkers
  538.   <lwj@cs.kun.nl> provide a solution:
  539.  
  540.     Remember, these are *unofficial* patches so back them out before
  541.     patching in the next release of nn.  You do not have to strip the
  542.     two leading spaces before these patches.  In fact you can run "patch
  543.     -s -N < this-entire-faq", within the newsreader even!  This patch
  544.     will be included in nn version 6.4.19.  See appendix "news.c" [1.93]
  545.  
  546.   
  547. Subject: How can I find all articles having to do with a certain topic?
  548. From: Using nn-22
  549.  
  550.   nngrab invokes nn on all articles whose subject or keyword fields
  551.   contain a desired keyword.  This shows one how important it is to
  552.   use descriptive subjects and keywords when posting articles.  For
  553.   more information, read the manual page.
  554.  
  555.   
  556. Subject: How can I set a different Organization name?
  557. From: Using nn-23
  558.  
  559.   See "How can I update my mail headers?" [9.92]
  560.  
  561.   
  562. Subject: Can all non-selected subjects be automatically placed in my kill file?
  563. From: Using nn-24
  564.  
  565.   The two variables, ignore-re and auto-select-rw, accomplish this task.
  566.   They may be available in version 6.4.19.  In the meantime, patches
  567.   may be obtained from dkuug.dk:/pub/nn6.4/nn6.4.killunread.
  568.   --Keld J|rn Simonsen <keld@dkuug.dk>. [1.93]
  569.  
  570.   
  571. Subject: Can I automatically kill articles based on the Newsgroups header?
  572. From: Using nn-25
  573.  
  574.   This is how one can automatically kill crossposted articles, etc.
  575.  
  576.   First, manually either add the following to your .newsrc to mark all
  577.   articles read forever:
  578.  
  579.     alt.flame: 1-2147483647
  580.  
  581.   or add the following to your .nn/kill file to kill all articles in
  582.   the group:
  583.  
  584.     alt.flame:!s/:^
  585.  
  586.   The former method may break down if you ever use nngoback to reset
  587.   numbers in your .newsrc.  The latter method could cause difficulty
  588.   if you ever actually want to read articles in that group.
  589.  
  590.   Near the top of your sequence in your init file put
  591.  
  592.     !alt.flame.
  593.     alt.flame
  594.  
  595.   This makes alt.flame, but not its subgroups, be included as the first
  596.   thing in your sequence; so all articles in it are killed before they
  597.   appear in any other groups.  You might want to put NEW above this so
  598.   you can see if new groups are getting off to a bad start with lots of
  599.   alt.flame crossposting.  Later in the sequence put
  600.  
  601.     % alt %
  602.  
  603.   This allows the rest of the alt hierarchy, including subgroups such
  604.   as alt.flame.spelling (if you subscribe to it), to get included at
  605.   that point in the sequence.
  606.  
  607.   Along with using the default settings of cross-filter-seq=true and
  608.   cross-post=false, this works fine to nuke the crossposted articles.
  609.   --Richard M. Mathews <richard@locus.com> & Dave Shaver <shaver@convex.com>
  610.  
  611.   
  612. Subject: How can I select one article in a thread with auto-select-subject set?
  613. From: Using nn-26
  614.  
  615.   Define the following macro to toggle auto-select-subject.  --Steven
  616.   Grady <grady@fx.com>
  617.  
  618.     map menu A (
  619.         :local auto-select-subject
  620.         :toggle auto-select-subject
  621.         ?auto-select-subject=on echo "Auto-select on"
  622.         ?auto-select-subject=off echo "Auto-select off"
  623.     )
  624.  
  625.   Use the '.' command.
  626.  
  627.   
  628. Subject: Is there a library of macros and other nn features?
  629. From: Using nn-27
  630.  
  631.   When complete, it will be a companion posting to this one.  If you
  632.   have not mailed me <wohler@sap-ag.de> your init file, or you have
  633.   made substantial changes since the last time, please send it in.  If
  634.   anyone is handy in perl or awk and would like to write some scripts
  635.   to reduce multiple init files to variable summaries (like the one I
  636.   posted a long time ago), macro definitions and presentation sequence
  637.   tricks, I would like to talk to you.
  638.  
  639.   
  640. Subject: Can one search for patterns in the entire article from the menu?
  641. From: Using nn-28
  642.  
  643.   No.
  644.  
  645.   
  646. Subject: How can I remove old articles from folders?
  647. From: Using nn-29
  648.  
  649.   Just open the folder in the usual way and C(ancel) the articles you
  650.   want to remove from the folder.  When you leave the folder, nn will
  651.   rewrite the folder with the "cancel"ed articles removed.  --Kim
  652.   Storm <storm@olicom.dk>
  653.  
  654.   
  655. Subject: What's the best way to save multi-part articles?
  656. From: Using nn-30
  657.  
  658.   All you have to do is to save the articles from the menu, e.g.
  659.  
  660.     W(rite) +file.* a b c d... <space>
  661.  
  662.   where a b c d... are the articles on the menu you want to save.  You
  663.   can also save the selected articles on the menu with * (only on
  664.   current page) or + (on all menu pages).  --Kim Storm <storm@olicom.dk>
  665.  
  666.   
  667. Subject: When saving in +a/b/c keeps you from saving in +a/b.
  668. From: Using nn-31 
  669.  
  670.   This happens when default-save-file is $F.  Try changing
  671.   default-save-file to $F/$N (my favorite) to get, for example,
  672.   +news/software/nn/1022, or $G to put everything in
  673.   +news.software.nn.  Finally, if you really did want the behavior of
  674.   +$F, a compromise would be to use +$F. (Andrew's favorite) instead
  675.   (one can use anything other than '.'). --Bill Wohler & Andrew Swann
  676.   <swann@imada.ou.dk>
  677.  
  678.   Alternatively, use +$F/$L, to place articles for news.software.nn in
  679.   the file +/news/software/nn/nn.  This has two advantages:
  680.   1) You can later read through the folder "nn" and save some of the
  681.     articles under new folder names having to do with the topic.  For
  682.     example, you might save auto-select topics under +$F/auto-sel,
  683.     that is, +/news/software/nn/auto-sel.
  684.   2) If at a later date, a new newsgroup is added below nn, articles
  685.     can still be saved under that subgroup since +/news/software/nn is
  686.     already a directory, not a folder.  --Harry Herman <herman@corpane.uucp>
  687.  
  688.   
  689. Subject: Can I use my mailer to send mail?
  690. From: Using nn-32 
  691.  
  692.   Yes.  See the variables mail-script, mailer, and mailer-pipe-input.
  693.   The following show how you can have nn use elm and MH to mail
  694.   messages.  [1.93]
  695.  
  696.   The original idea of using MH (namely, comp) to send mail from nn
  697.   came from Jaap Vermeulen <jaap@sequent.com>, but he wouldn't
  698.   recognize what I did to it.  I also used a suggestion from John
  699.   Romine <jromine@ics.uci.edu> and Tom McCain <tom@dynamo.ecn.purdue.edu>.
  700.  
  701.   Add
  702.  
  703.     set mail-script nn-use-mh
  704.  
  705.   to your init file.  See appendix "nn-use-mh" for the script.
  706.  
  707.   In addition, you can contact Ray Davis <rdavis@convex.com> for some
  708.   scripts that sort of turn nn into a MH front end by providing macros
  709.   to save, delete and refile articles in MH folders.
  710.  
  711.   To use elm to send the messages, add the following to ~/.nn/init:
  712.  
  713.     set   mailer              nn_elm
  714.     unset mailer-pipe-input
  715.  
  716.   and see appendix "nn_elm" for the script. [1.93]
  717.  
  718.   
  719. Subject: How can I see the original article with the current subject?
  720. From: Using nn-33 
  721.  
  722.   While reading an article, use "G RET RET RET".
  723.  
  724.   
  725. Subject: Can I choose newsgroups as I do articles, ie. with a menu?
  726. From: Using nn-34
  727.  
  728.   No, not yet.  Sorry.  However, progress in this direction has been
  729.   made--if you care to finish the work, please contact Peter Wemm
  730.   <peter@dialix.oz.au>. [12.92]
  731.  
  732.   See also "How can see which newsgroups are available?"  [1.93]
  733.  
  734.   
  735. Subject: How can I post prewritten articles with nn?
  736. From: Using nn-35
  737.  
  738.   nnpost will construct the header for the posted article, so it
  739.   requires several arguments to be specified before the article is
  740.   posted, e.g. a newsgroup name and a subject.  If some arguments are
  741.   missing, nnpost will prompt for the missing arguments.
  742.  
  743.   If your pre-written article includes a full header, then you should
  744.   not use nnpost; instead you should feed the article to "inews -h"
  745.   directly (which is what nnpost does after building the header from
  746.   the arguments).  --Kim Storm <storm@olicom.dk>
  747.  
  748.   
  749. Subject: + How can nn automatically append my signature?
  750. From: Using nn-36
  751.  
  752.   Put your signature in a file called .signature in your home
  753.   directory, and use:
  754.  
  755.     set append-signature-post
  756.     set append-signature-mail    # if desired
  757.     set query-signature        # if you want confirmation.
  758.  
  759.   See also "How do I eliminate double signatures?" and
  760.   "Can the signature come from a different file or program?" [3.93]
  761.  
  762.   
  763. Subject: How do I eliminate double signatures?
  764. From: Using nn-37
  765.  
  766.   Double signatures occur when both nn and inews append $HOME/.signature.
  767.  
  768.   If you want just inews to append your signature, use:
  769.  
  770.     unset append-signature-post
  771.  
  772.   This is actually the default, but you can unset this variable if
  773.   your nn administrator has mistakenly turned it on.
  774.  
  775.   If you want just nn to append your signature, move your signature to
  776.   some other place than $HOME/.signature.  Then see, "Can the signature
  777.   come from a different file or program?"
  778.  
  779.   
  780. Subject: Can the signature come from a different file or program?
  781. From: Using nn-38
  782.  
  783.   If you want nn to append your .signature file, you can copy nn's aux
  784.   file (ie. /usr/local/lib/nn/aux) to your .nn directory and set the
  785.   mail-script and news-script variables to ~/.nn/aux.  In your copy of
  786.   the aux script, you can either specify a different place for your
  787.   .signature file (like $HOME/.nn/signature) or you can get fancy: you
  788.   can use specific .signatures for certain groups (saved in variable
  789.   "G"), or use the output of a program.  --Bill Wohler
  790.  
  791.   Tired of the same old signature?  Want different signatures for
  792.   different newsgroups?  Here's a program to help you out.
  793.  
  794.   The way it works is to have .signature be a named pipe, so if you
  795.   don't have named points, just say 'n'.
  796.  
  797.   The sigrand program then feeds stuff down the pipe everytime someone
  798.   wants to read it.  That way it works for more than just news, but
  799.   for anything that wants to read your .signature, like a mailer.
  800.  
  801.   You have your choice of three kinds of signatures:
  802.  
  803.       1) random (short) fortune from "fortune -s"; you get these if
  804.      you don't have a global sig file.
  805.       2) random fortune from ~/News/SIGNATURES [global sig file]
  806.       3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files]
  807.  
  808.   Ask Tom Christiansen <tchrist@convex.com> for more details.
  809.  
  810.   
  811. Subject: How can I make mail replies go to a different machine?
  812. From: Using nn-39
  813.  
  814.   See "How can I update my mail headers?"  [9.92]
  815.  
  816.   
  817. Subject: How come more articles get selected than I expect?  
  818. From: Using nn-40
  819.  
  820.   Check the setting of subject-match-parts. If this is on, then your subjects
  821.   are considered matched if they match up to the first digit. For example
  822.   if subject-match-parts is on, the subjects:
  823.  
  824.     someprogram Part 1/5
  825.     someprogram Part 2/5
  826.  
  827.   are considered matches. So are
  828.  
  829.     v12345: someprogram Part 1/5
  830.     v12346: anotherprogram Part 1/23
  831.  
  832.   as the "v" is identical up to the first digit. If you want to use
  833.   subject-match-parts in a "comp.sources" type group, set
  834.   subject-match-offset (the character position that matches are
  835.   started from) to be beyond any digits that might appear in the first
  836.   part of the subject.  --Dave Hayes <dave@elxr.jpl.nasa.gov>
  837.  
  838.   
  839. Subject: Any plans for trn-ish thread following?  
  840. From: Using nn-41
  841.  
  842.   At the moment, no.
  843.  
  844.   
  845. Subject: Setting new-group-action to "ask before adding" doesn't work.
  846. From: Using nn-42
  847.  
  848.   Take NEW out of your sequence--it's redundant.
  849.  
  850.   
  851. Subject: Why does nn crash when a letter one past the highest letter is selected?
  852. From: Using nn-43
  853.  
  854.   This is fixed in patch 17.  [9.92]
  855.  
  856.   Your terminal modes will be screwed up after such an event, so
  857.   you'll have to type ^J (or LINE-FEED) repeatedly until a prompt is
  858.   seen, and then run
  859.  
  860.     stty -sane^J
  861.  
  862.   or
  863.  
  864.     reset
  865.  
  866.   
  867. Subject: Why do articles without a Lines header appear empty?
  868. From: Using nn-44
  869.  
  870.   This problem only shows up if you have header-lines set to a string
  871.   that includes "L".  It is suspected that having the line count patch
  872.   sets something that makes nn think there is a Lines header and then
  873.   the header-string is telling it to display the Lines header but
  874.   there isn't one and things get messed up.  --Gary Morris
  875.   <garym@telesoft.com>
  876.  
  877.   
  878. Subject: How do I save my posts, followups and replies automatically?  
  879. From: Using nn-45
  880.  
  881.   In your nn init file, use the following lines:
  882.  
  883.     set news-record file
  884.     set mail-record file
  885.  
  886.   to place posts and followups in one file and replies in another, or
  887.   to put everything in a single file, use:
  888.  
  889.     set record file
  890.  
  891.   Replace "file" with the absolute path (~ == home directory ok) of
  892.   your desired file.  All files are saved in mailbox format.  --Don
  893.   Mullins <mullins@convex.com> [9.92]
  894.  
  895.   
  896. Subject: How can I change how my real name appears?
  897. From: Using nn-46
  898.  
  899.   On BSD UNIX systems, you can run the command chfn(1) to change 
  900.   your real name.  If you don't want to do this, or can't, please 
  901.   see "How can I update my mail headers?"  [9.92]
  902.  
  903.   
  904. Subject: How can I customize my mail headers for mail and posting?
  905. From: Using nn-47
  906.  
  907.   Headers can be modified or appended to by creating the variables
  908.   mail-header (for replies) and news-header (for posts and followups)
  909.   in the init file. You can include any headers that you want;
  910.   separate multiple headers with semi-colons.  For example:
  911.  
  912.   set mail-header From: Joe Smith <js@cc.edu>;Reply-To: js@cc.edu;
  913.           Organization: CC University
  914.   set news-header From: Joe Smith <js@cc.edu>;Reply-To: js@cc.edu;
  915.           Organization: CC University
  916.  
  917.   Note that these lines are split for readability--the value of these
  918.   variables must appear on a single line.  In addition, do not insert a
  919.   space between semi-colons and the next header.
  920.  
  921.   A Reply-To header is useful when your system generates either an
  922.   unwanted or blatantly wrong return address for you.  If this header
  923.   is present, then mailers use it instead of the system generated From
  924.   header.
  925.  
  926.   A From header is useful when you want to change how your real name
  927.   appears to nn readers, but you don't want to change it (or can't) on
  928.   your system.  Warning: only do this if you're sure you can create a
  929.   RFC 822 compliant From header.  [9.92]
  930.  
  931.   
  932. Subject: Can the article viewer/pager be changed?
  933. From: Using nn-48
  934.  
  935.   No.  And for good reason.  There are too many commands in nn's pager
  936.   that less, for example, doesn't know anything about.
  937.  
  938.   
  939. Subject: How do I search for an author in a menu?
  940. From: Using nn-49
  941.  
  942.   Add the following macro to your init file (~/.nn/init) and invoke
  943.   via '_' (underscore).
  944.  
  945.   # _ does search on sender (as = does a search on subject)
  946.   map menu _ (
  947.     :set select-on-sender
  948.     find input
  949.     :unset select-on-sender
  950.     message
  951.   )
  952.  
  953.   [1.93]
  954.  
  955.   
  956. Subject: Can nn use aliases when sending mail?
  957. From: Using nn-50
  958.  
  959.   Yes.  See the variable mail-alias-expander, and use the script in
  960.   appendix "nnalias."  [1.93]
  961.  
  962.   
  963. Subject: How can I see which newsgroups are available?
  964. From: Using nn-51
  965.  
  966.   To see a list of all news groups with a short description, use the
  967.   command ":post" and type '?'.  To list groups that match a regular
  968.   expression (ie. pattern), use "/pattern" instead of '?'.  --<Sven
  969.   Guckes> guckes@math.fu-berlin.de
  970.  
  971.   Also try using '?' when going to a group with the 'G' command.  Note
  972.   that successive '?'s will display more groups when there is not
  973.   enough room to display all choices at once.  Group completion is
  974.   achieved with ' ' (space).
  975.  
  976.   Finally, the program "nnsub" can be used to easily view newsgroup
  977.   names and descriptions and also to subscribe to groups.  This
  978.   program will appear in the "contrib" area of the sources in 6.4.19. 
  979.  
  980.   [1.93]
  981.  
  982.   
  983. Subject: + How can I read MIME articles?
  984. From: Using nn-52
  985.  
  986.   Using metamail, you can do one of the following:
  987.  
  988.   "Print" the message.  Use the "P" command and:
  989.  
  990.     set printer metamail
  991.  
  992.   "save" the message.  Use "s" and specify "|metamail" as a filename.
  993.  
  994.   metamail can be found at:
  995.  
  996.     thumper.bellcore.com     [128.96.41.1]    /pub/nsb/mm.tar.Z
  997.  
  998.   [3.93]
  999.  
  1000.   
  1001. Subject: + How do I unsubscribe to all groups?
  1002. From: Using nn-53
  1003.  
  1004.   The file .newsrc in your home directory contains the information
  1005.   about the newsgroups, their subscription status and the numbers of
  1006.   the read articles.  A colon (':') indicates a subscribed group, and
  1007.   an exclamation mark ('!') indicates an unsubscribed group.  All you
  1008.   need to do for unsubscribing to all newsgroups is to edit .newsrc.
  1009.   You can do this with your favourite editor, or
  1010.  
  1011.     sed -e 's/:/!/' $HOME/.newsrc > foo
  1012.     mv foo .newsrc
  1013.  
  1014.   If you use csh, you have to escape the '!' with a '\'.  --Sven
  1015.   Guckes <guckes@math.fu-berlin.de> [3.93]
  1016.  
  1017.   
  1018. Subject: ! Why does nnmaster stop collecting articles at the "junk" group?
  1019. From: nnmaster-60
  1020.  
  1021.   This can occur when you access news via NNTP.  Older nntp servers
  1022.   have a limitation of 4000 articles in a group, and junk may easily
  1023.   exceed this which makes the nntp server crash.
  1024.  
  1025.   To overcome the problem, edit the GROUPS file to add the X flag on
  1026.   the junk group, run nnmaster -G, and then nnmaster will ignore the
  1027.   junk group.  --Kim Storm <storm@olicom.dk>
  1028.  
  1029.   In nntp_dir/common/conf.h, you can either increase MAX_GROUPS
  1030.   (normally 4096) or you can set #define DYNAMIC_ART_ARRAY (normally
  1031.   #undefed).  In either case, you obviously have to recompile nntp.
  1032.  
  1033.   Normally, new groups are added as they come in, but the news
  1034.   administrator should monitor the junk newsgroup and either make new
  1035.   newsgroups for the orphan messages, or ensure that the feed stops
  1036.   sending bogus messages.  --Mark Rawling
  1037.   <Mark.Rawling@mel.dit.csiro.au> [3.93]
  1038.  
  1039.   
  1040. Subject: How do I cope with "Incomplete MASTER file"?
  1041. From: nnmaster-61
  1042.  
  1043.   See "Why isn't nnmaster working?"  
  1044.  
  1045.   
  1046. Subject: Why isn't nnmaster working?
  1047. From: nnmaster-62 
  1048.  
  1049.   After the make, did you remember to:
  1050.  
  1051.     Run ./inst <options> to install the files?
  1052.     Run ./inst INIT to initialize the database?
  1053.  
  1054.   Nnmaster mails error messages to the user who owns him (typically
  1055.   "news").  Check this mailbox for clues.
  1056.  
  1057.   If nnmaster -r or -D did not work, then neither did nnmaster -I (or
  1058.   ./inst INIT from the install directory).  Once you fix the
  1059.   permissions (see Paul's answer below), you need to rerun the
  1060.   initialization step.  --Stew Ellis <ellis@nova.gmi.edu>
  1061.  
  1062.   If nnmaster dies and updates the Log file with "Incomplete MASTER
  1063.   file", it could be you're not running the latest version.  --David
  1064.   R. Hieb <David.R.Hieb@magi.rootgroup.com>
  1065.  
  1066.   If, when you start your nnmaster, it just exits quietly, it could be
  1067.   that your permissions are incorrect.  Ensure that all directories in
  1068.   the nn library are owned by news (or the owner that you configured
  1069.   nn with).  --Paul Bickerstaff <pbickers@tamaluit.phys.uidaho.edu>
  1070.  
  1071.   Make sure that there is a 'news' entry in passwd and group since
  1072.   nnmaster is run setuid/setgid to news and the files and directories
  1073.   that nnmaster needs to access are owned and writable by news.  --Jim
  1074.   Jagielski <jim@jagubox.gsfc.nasa.gov> [9.92]
  1075.  
  1076.   Another problem could be in the way it is started.  Two related
  1077.   solutions are presented.
  1078.  
  1079.   /etc/rc exits before the child has had the chance to setpgrp().
  1080.   Putting "sleep 5" at the end of /etc/rc fixed it. --David B. Thomas
  1081.   <dt@yenta.alb.nm.us>
  1082.  
  1083.   Another similar solution involved inserting a "sleep 10" at the
  1084.   beginning of /etc/daemons/nnmaster.init file.
  1085.   --Jeffery Small <jeff@cjsa.wa.com>
  1086.  
  1087.   It could be you're not running the latest version.  --David R. Hieb
  1088.   <David.R.Hieb@magi.rootgroup.com>
  1089.  
  1090.   
  1091. Subject: Why do I get ".../MASTER not found"?
  1092. From: nnmaster-63
  1093.  
  1094.   The problem of the NN port to the Atari ST is, that you have to
  1095.   build an "active" file (NN format, not HERMES-like!!) in
  1096.   /usr/lib/news before running nnadmin -I.
  1097.  
  1098.   You can build this file by using the included "buildact.tos."
  1099.   Buildact.tos creates a UNIX-like /usr/lib/news/active from
  1100.   /usr/lib/hermes/active. [9.92]
  1101.  
  1102.   
  1103. Subject: Why do I get "cannot open 'x' file"
  1104. From: nnmaster-64
  1105.  
  1106.   If you get a message like,
  1107.  
  1108.     Fatal system error:
  1109.     alt.activism (6): cannot open 'x' file (mode=82, errno=2)
  1110.  
  1111.   you haven't initialized your database.  As root, run the following
  1112.   command "./inst INIT" in the nn source directory.  See the file
  1113.   INSTALLATION for more information.  --Sami Tikka <Sami.Tikka@hut.fi>
  1114.   [1.93]
  1115.  
  1116.   
  1117. Subject: + Why do I get "Lost connection to server foobar"
  1118. From: nnmaster-65
  1119.  
  1120.   It's possible that the two database files for a newsgroup (nnn.x and
  1121.   nnn.d) don't exist.  Go into nnadmin and force a recollect of the
  1122.   newsgroup.  Most of the newsgroups (which are missing nnn.x and
  1123.   nnn.d files) after the first problem newsgroup might be
  1124.   automatically collected without a problem.  If there are a large
  1125.   number of these problem groups, it might be easier just to rebuild
  1126.   the whole database: kill nnmaster, run "./inst INIT" as root in the
  1127.   source directory and restart nnmaster.  --Jeff Beckley
  1128.   <beckley@qualcomm.com>
  1129.  
  1130.   If the group in question has too many articles (>4000), it will
  1131.   cause older NNTP implementations to choke.  See "Why does nnmaster
  1132.   stop collecting articles at the "junk" group?" for a fix. [3.93]
  1133.   
  1134.   
  1135. Subject: Glossary
  1136. From: Appendix
  1137.  
  1138.   MIME        Multi-purpose Internet Mail Extensions
  1139.   NNTP        Network News Transport Protocol (see RFC 977)
  1140.  
  1141.   
  1142. Subject: Acknowledgements
  1143. From: Appendix
  1144.  
  1145. I'd like to thank the following people for providing ideas on the
  1146. layout of this article:
  1147.  
  1148. Joe Wells <jbw@bigbird.bu.edu>          Richard M. Stallman <rms@gnu.ai.mit.edu>
  1149. David Elliott <dce@smsc.sony.com>     Tom Christiansen <tchrist@convex.com>
  1150. Eugene N. Miya <eugene@nas.nasa.gov>
  1151.  
  1152.  
  1153. We are also grateful to the individuals mentioned below and in the
  1154. text of this document who have provided answers or other information
  1155. to make this a better document.  I regret that it is possible that
  1156. some names have been accidently omitted.  I would also like to thank
  1157. all the readers of news.software.nn.
  1158.  
  1159. Kim Storm <storm@olicom.dk>           Sven Guckes <guckes@math.fu-berlin.de>
  1160.  
  1161.   
  1162. Subject: Warranty
  1163. From: Appendix
  1164.  
  1165. [The following statement epitomizes the ridiculous state of affairs in
  1166. our country (I'm an American) and can be ignored outside the US...]
  1167.  
  1168. No Warranty: Because this article is provided free of charge as a
  1169. service to news.software.nn readers, we provide absolutely no
  1170. warranty, to the extent permitted by applicable state law.  This
  1171. article is provided "as is" without warranty of any kind, either
  1172. expressed or implied, including, but not limited to, the implied
  1173. warranties of merchantability and fitness for a particular purpose.
  1174. Should the information prove defective, you assume the cost of all
  1175. necessary servicing, repair or correction.
  1176.  
  1177.   
  1178. Subject: pack_date.c
  1179. From: Appendix
  1180.  
  1181.   *** old/pack_date.c    Wed Apr 17 01:32:40 1991
  1182.   --- new/pack_date.c    Thu Jun  4 20:03:02 1992
  1183.   ***************
  1184.   *** 4,9 ****
  1185.   --- 4,11 ----
  1186.      *    Calculate an approximate "time_stamp" value for a date
  1187.      *    string.  The actual value is not at all critical,
  1188.      *    as long as the "ordering" is ok.
  1189.   +  *    The current algorithm mishandles non-GMT time zones near
  1190.   +  *    short month boundaries, but this is rare in real news.
  1191.      *
  1192.      *    The result is NOT a time_t value, i.e. ctime() will
  1193.      *    not produce the original Date string.
  1194.   ***************
  1195.   *** 256,262 ****
  1196.         res *= 24 * 60;
  1197.         res += (hour * 60) + min;
  1198.     
  1199.   !     return res + tzone(date);
  1200.     }
  1201.     
  1202.     
  1203.   --- 258,264 ----
  1204.         res *= 24 * 60;
  1205.         res += (hour * 60) + min;
  1206.     
  1207.   !     return res - tzone(date);
  1208.     }
  1209.  
  1210.   
  1211. Subject: news.c
  1212. From: Appendix
  1213.  
  1214.   RCS file: news.c,v
  1215.   retrieving revision 1.1
  1216.   diff -c2 -r1.1 news.c
  1217.   *** news.c    1990/10/23 21:37:38    1.1
  1218.   --- news.c    1992/06/19 23:17:05
  1219.   ***************
  1220.   *** 231,235 ****
  1221.         char *parse_header();
  1222.         struct stat statb;
  1223.   !     int retry;
  1224.         FILE *f;
  1225.     #ifdef NNTP
  1226.   --- 231,235 ----
  1227.         char *parse_header();
  1228.         struct stat statb;
  1229.   !     int c, retry;
  1230.         FILE *f;
  1231.     #ifdef NNTP
  1232.   ***************
  1233.   *** 300,309 ****
  1234.         body = parse_header(f, art_hdr_field, modes, buffer1);
  1235.     
  1236.   -     news.ng_lines = news.ng_xlines ? atoi(news.ng_xlines) : -1;
  1237.         if (news.ng_from == NULL) news.ng_from = news.ng_sender;
  1238.     
  1239.   !     if (modes & FILL_OFFSETS) {
  1240.             art->fpos = news.ng_fpos = ftell(f);
  1241.     
  1242.             fseek(f, (off_t)0, 2);
  1243.             news.ng_lpos = ftell(f);
  1244.   --- 300,328 ----
  1245.         body = parse_header(f, art_hdr_field, modes, buffer1);
  1246.     
  1247.         if (news.ng_from == NULL) news.ng_from = news.ng_sender;
  1248.     
  1249.   !     if (modes & FILL_OFFSETS)
  1250.             art->fpos = news.ng_fpos = ftell(f);
  1251.     
  1252.   +     if (news.ng_xlines)
  1253.   +         news.ng_lines = atoi(news.ng_xlines);
  1254.   +     else {
  1255.   + #ifdef NNTP
  1256.   +         if (use_nntp && lazy) {
  1257.   +         off_t fpos = ftell(f);
  1258.   +         fclose(f);
  1259.   +         f = nntp_get_article(art->a_number, 2);
  1260.   +         if (f == NULL) return NULL;
  1261.   +         lazy = 0;
  1262.   +         fseek(f, fpos, 0);
  1263.   +         }
  1264.   + #endif
  1265.   +         news.ng_lines = 0;
  1266.   +         while ((c = getc(f)) != EOF)
  1267.   +         if (c == '\n')
  1268.   +             news.ng_lines++;
  1269.   +     }
  1270.   + 
  1271.   +     if (modes & FILL_OFFSETS) {
  1272.             fseek(f, (off_t)0, 2);
  1273.             news.ng_lpos = ftell(f);
  1274.  
  1275.   
  1276. Subject: nn-use-mh
  1277. From: Appendix
  1278.  
  1279. #!/bin/sh
  1280.  
  1281. # Obtain value of $WORK and $RECORD
  1282. . ${HOME}/.nn/.param
  1283.  
  1284. # Append Fcc: +folder to headers.  The folder is specified in
  1285. # mail-record.
  1286. if [ "$RECORD" != "" ]; then
  1287.       awk '
  1288.       {
  1289.           if ($0 == "" && !done) {
  1290.               print "Fcc: +'$RECORD'";
  1291.               done = 1;
  1292.           }
  1293.           print;
  1294.       }' $WORK > /tmp/aux.$$ && mv /tmp/aux.$$ $WORK
  1295. fi
  1296.  
  1297. # Compose and send the mail
  1298. comp -form $WORK
  1299.  
  1300.   
  1301. Subject: nn_elm
  1302. From: Appendix
  1303.  
  1304. #!/bin/sh
  1305. #
  1306. # nn_elm
  1307. #
  1308. # 07 Aug 91             V1.0
  1309. #
  1310. # Massage a mail message from nn into a form that elm can use
  1311. # (c) 1991 Phil Kernick <phil@adam.adelaide.edu.au> Wizard Software
  1312. #
  1313.  
  1314. eval `awk '
  1315. BEGIN {
  1316.   FS = ":";
  1317.   dq = sprintf("%c", 34);
  1318.  
  1319.   headers = 0;
  1320.   to = "";
  1321.   subject = "";
  1322. }
  1323.  
  1324. /^.*: / {
  1325.   headers++;
  1326.   if($1 == "To")
  1327.     to = dq substr($0, 5) dq;
  1328.   if($1 == "Subject")
  1329.     subject = dq substr($0, 10) dq;
  1330. }
  1331.  
  1332. /^$/ {
  1333.     printf("tail +%d %s | elm -s %s %s > /dev/null\n", headers+2, mail, subject, to);
  1334.     exit;
  1335. }' mail=$1 $1`
  1336.  
  1337. exit $?
  1338.  
  1339.   
  1340. Subject: nnalias
  1341. From: Appendix
  1342.  
  1343. #!/bin/sh
  1344. #
  1345. # nnalias -- expands aliases from ~/.mailrc file for nn.
  1346. #
  1347. # To use, put the following in your ~/.nn/init file:
  1348. #
  1349. #    set mail-alias-expander nnalias
  1350. # and put this file somewhere in your path, making it executable.  I use
  1351. #    set mail-alias-expander /usr/local/lib/nnalias
  1352. # but the choice is up to you.
  1353. #
  1354. # Written by Scott Hannahs, Bitter National Magnet Lab, MIT, August 1991
  1355. # Complaints, comments, ideas to sth@slipknot.mit.edu
  1356. # Tested on Silicon Graphics, IRIX 3.3.1
  1357. #
  1358. # Minor banging by <rreiner@nexus.yorku.ca> to handle alias value fields
  1359. # which contain doublequote characters, e.g.
  1360. #
  1361. #    alias Foo "Foobar the Great <foo@bar.com>"
  1362. #
  1363. # (the doublequotes are stripped in the expansion), and to handle multiple
  1364. # spaces after the token "alias".
  1365. #
  1366. # Also added some error detection and signal traps; tested on SunOS 4.1.1.
  1367. #
  1368. #    Exit codes:     0 -- normal termination
  1369. #            1 -- parm error
  1370. #            2 -- file does not exist
  1371. #            3 -- trap
  1372. #
  1373. # Thanks to bug reports from
  1374. #  Andy Jacobs and others
  1375. #
  1376. if [ z$1 = z ]; then
  1377.   myname=`basename $0`
  1378.   echo "$myname: usage is  $myname workfile"
  1379.   exit 1
  1380. fi
  1381.  
  1382. if [ ! -f $1 ]; then
  1383.   myname=`basename $0`
  1384.   echo "$myname: $1 does not exist or is a directory"
  1385.   exit 2
  1386. fi
  1387.  
  1388. TMP_DIR=/usr/tmp
  1389.  
  1390. trap "rm -f ${TMP_DIR}/nn.alias.$$ ; exit 3" 0 1 2 3 15
  1391.  
  1392. ALIAS_LIST=""
  1393. ADDRESS_LIST="`head -1 $1 | sed -e s/To://`"
  1394. until [ "$ALIAS_LIST" = "$ADDRESS_LIST" ] ; do
  1395.   ALIAS_LIST="`echo "$ADDRESS_LIST"| sed -e 's/,/ /g' `"
  1396.   ADDRESS_LIST=""
  1397.     for ALIAS in $ALIAS_LIST ; do
  1398.       ADDRESS=`grep '^[     ]*alias[     ][     ]*'"$ALIAS"'[     ]' ${HOME}/.mailrc |\
  1399.       sed      -e s/'^[     ]*alias[     ][     ]*'"$ALIAS"'[     ][     ]*'// |\
  1400.       sed -e s/'"'//g`
  1401.       if [ "$ADDRESS" ] ; then
  1402.     ADDRESS_LIST="$ADDRESS_LIST $ADDRESS"
  1403.       else
  1404.     ADDRESS_LIST="$ADDRESS_LIST $ALIAS"
  1405. #      for elm alias expansion use the following line instead of the previous.
  1406. #      ADDRESS_LIST="$ADDRESS_LIST "`elm -c "$ALIAS" | cut -f3 -d\ `
  1407.       fi
  1408.     done
  1409.   done
  1410. echo "To:${ADDRESS_LIST}" > ${TMP_DIR}/nn.alias.$$
  1411. tail +2 $1 >> ${TMP_DIR}/nn.alias.$$
  1412. mv -f ${TMP_DIR}/nn.alias.$$ $1
  1413.  
  1414. exit 0
  1415.  
  1416.  
  1417. Local Variables:
  1418. mode: outline
  1419. outline-regexp: "^Subject:"
  1420. fill-prefix: "  "  
  1421. eval: (progn (setq buffer-read-only nil) (hide-body))
  1422. End:
  1423.